"""
开操作：
作用：放大裂缝和低密度区域，消除小物体，在平滑较大物体的边界时，不改变其面积。消除物体表面的突起。
开操作就是对图像先腐蚀，再膨胀。

闭操作：
作用：排除小型黑洞，突触了比原图轮廓区域更暗的区域，将两个区域连接起来，形成连通域。
闭操作就是对图像先膨胀，再腐蚀。
"""

import cv2
import numpy as np
import matplotlib.pyplot as plt
 
img_path = "/Users/mac/Documents/Learning/LearningOpencv/datasets/1.jpg"

#载入原图
img = cv2.imread(img_path)

# 开：先腐蚀，再膨胀（去毛刺，再回复粗度）
kernel = np.ones((5,5),np.uint8) 
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
cv2.imshow('opening', opening)

# 闭：先膨胀，再腐蚀（不能去毛刺）
kernel = np.ones((5,5),np.uint8) 
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
cv2.imshow('closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()
